<picture>
0個以上の<source>と、1つの<img>を含む
主な用途
pictureタグを使って、代替画像形式を提供する
e.g. webp指定して、ブラウザが未対応ならpngを表示
適切なサイズの画像を使用する
pictureを用いずにimgだけで完結させたほうが良い場合もある ref
アートディレクションのため
pictureを用いずにimgだけで完結させたほうが良い場合もある ref
書き方
code:html
<picture>
<source srcset="候補1の画像URL" 属性 />
<source srcset="候補2の画像URL" 属性 />
<img src="候補4の画像URL" alt="~" />
</picture>
<img>を囲って、<source>と併用する
imgは1つのみで最後に書く、sourceは複数可
パターンマッチ的で、より上に書いたものが採用される
imgはotherwiseみたいなかんじmrsekut.icon
属性
src属性
srcset属性
imgタグのsrcset属性と同じ
たぶんmrsekut.icon
sizes属性
imgタグのsizes属性と同じ
たぶんmrsekut.icon
以下は同じ
code:html
sizes="(min-width: 960px) 50vw"
code:html
media="(min-width: 960px)"
sizes="50vw"
media属性
@mediaを書く
type
画像の形式をMIME Typeで指定する
e.g. type="image/webp"
https://parashuto.com/rriver/responsive-web/picture-srcset-use-case
なんでもかんでもpictureを使うべきではない
imgタグのsrcset属性の方が良い場合もある、という説明
webpがどうのこうのについては言及されてない
この場合はpictureを使うしか無いから選択の余地がないからかmrsekut.icon
参考
pictureタグで画像をレスポンシブに切り替える - HTMLリファレンス
わかりやすい
https://developer.mozilla.org/ja/docs/Web/HTML/Element/picture
https://www.html5rocks.com/ja/tutorials/responsive/picture-element/